Wireless networks have been drawing attention as systems that dispense with cables used in older wired communication systems. For example, a flexible connection to the Internet can be established using a wireless LAN. Such a wireless LAN can not only replace an existing wired LAN, but also provide a way to establish a connection to the Internet at public places including hotels, lounges at airports, stations, and cafes.
Networking in the Institute of Electrical and Electronics Engineers (IEEE) 802.11, which includes representative standards for wireless LANs, is based on the concept of Basic Service Set (BSS). There are two types of BSS: one defined in “infrastructure mode” where a control station called an “access point” (AP) or a “coordinator” exists within an area; and the other, which is an independent BSS (IBSS), defined in ad-hoc mode in which a peer-to-peer network is configured by a plurality of mobile terminals (MTs; which can be mobile stations or terminal stations) operating on equal terms in an autonomic and dispersed manner.
When performing asynchronous communication with each other in infrastructure mode, it is necessary for a transmitting communication apparatus and a receiving communication apparatus to perform wireless communication via an access point. This results in a drop as much as 50% in efficiency of using a transmission line. In contrast, in ad-hoc mode where a network includes, for example, a relatively small number of neighboring client terminals, any of the terminals can perform wireless communication directly, that is, at random, with each other without using a specific control station.
However, it is generally known that there is a hidden terminal problem in ad-hoc networks. The hidden terminal problem occurs when, in a case where specific communication stations communicate with each another, one communication station can be listened to from a communication station serving as a communication partner, but not from other communication stations. Since hidden terminals are incapable of negotiating with each other, there may be collisions of transmission operations. As a method of solving the hidden terminal problem, Carrier Sense Multiple Access (CSMA) using the RTS/CTS transmission/reception preparation process is widely known in the art.
CSMA is a communication protocol for enabling multiple accesses based on carrier sensing. In wireless communication, it is difficult for a communication apparatus to receive a signal that it has sent. Collisions thus can be avoided by using CSMA with Collision Avoidance (CSMA/CA), instead of using CSMA with Collision Detection (CSMA/CD), to allow a communication apparatus to start sending information after making sure that there is no information being sent from other information apparatuses. CSMA is an access protocol that is suitable for asynchronous data communication such as file transfer or electronic mail.
In RTS/CTS, a communication station serving as a data transmission source sends an RTS packet and, upon receipt of a CTS packet from a communication station serving as a data transmission destination, starts data transmission. When a hidden terminal receives at least one of the RTS and CTS packets, the hidden terminal sets its transmission idle period to an estimated data transmission period based on the RTS/CTS process, thereby avoiding collisions. A hidden terminal for the transmitting station receives the CTS packet and sets the transmission idle period, thereby avoiding collisions with a data packet. A hidden terminal for the receiving station receives the RTS packet and sets the transmission idle period, thereby avoiding collisions with an acknowledgement (ACK) packet.
FIG. 11 illustrates a situation that may happen in peripheral stations when a transmitting station and a receiving station perform an RTS/CTS transmission/reception preparation process. In FIG. 11, it is assumed that there are four communication stations: STA2, STA0, STA1, and STA3. It is assumed that, in a communication environment, only communication stations that are next to each other in FIG. 11 are within a range in which radio waves can reach. It is assumed that STA0 wants to send information to STA1.
STA0, which is the transmission source, checks that a medium is clear for a predetermined period (from time T0 to time T1) using a CSMA process and then sends an RTS packet to STA1 at time T1. A Medium Access Control (MAC) header of the RTS packet includes a description of Duration, which is a time for completing a transaction of transmitting and receiving this packet (in the example illustrated in FIG. 11, Duration is a time from T1 at which STA0 sends a data frame to STA1 to time T8 at which transmission of an ACK frame from STA1 is completed).
This RTS packet also reaches STA2, which is next to STA0 and which is a hidden terminal for STA1. When STA2 receives the RTS packet destined not to STA2, STA2 senses, without monitoring the medium, that the medium is busy until time T8 at which the transaction will be completed in order not to block a transmission request from STA0 and waits for the Duration period before starting transmission since the medium has already been reserved for another station. This transmission-disabled state of the hidden terminal is realized by virtual carrier sensing. Virtual carrier-sensing is used in the MAC layer protocol processing to set a Network Allocation Vector (NAV), which is a timer in units of microseconds, to an estimated time the medium will be busy. When the NAV is nonzero, the virtual carrier-sensing function recognizes that the medium is busy.
In contrast, when STA1 receives the RTS packet destined to STA1, STA1 sends a CTS packet to STA0 at time T3 after a short inter-frame space (SIFS) interval. The transmission rate and the transmission mode of the CTS packet are the same as those of the RTS packet. A MAC header of the CTS packet includes a description of Duration, which is a time for completing a transaction of transmitting and receiving this packet (that is, a time until time T8).
This CTS packet also reaches STA3, which is next to STA1 and which is a hidden terminal for STA0. When STA3 receives the CTS packet destined not to STA3, STA3 sets a NAV so that transmission will be stopped until the transaction is completed in order not to block a reception request from STA1. The NAV is effective for a period indicated by the Duration field. STA3 is also in the transmission-disabled state until time T8.
When STA0 receives the CTS packet destined to STA0, STA0 senses that STA1 is ready for reception. At time T5 after a SIFS interval, STA0 starts transmitting a data packet.
At time T6, transmission of the data packet is completed. If STA1 decodes the data packet without any errors, at time T7 after a SIFS interval, STA1 sends an ACK packet to STA0. When STA0 receives the ACK packet, a transaction of transmitting and receiving one packet is completed at time T8. STA2 and STA3, which are neighboring stations, reset the NAVs at time T8 at which the Duration period expires and return to a normal transmission/reception state.
In short, in the foregoing RTS/CTS transmission/reception preparation process, “a neighboring station of STA0 serving as a transmitting station” which has received the RTS packet, i.e., STA2, and “a neighboring station of STA1 serving as a receiving station” which has received the CTS packet, i.e., STA3, are prohibited from performing transmission. Accordingly, data can be sent from STA0 to ST1 and an ACK packet can be sent from STA1 to STA0 without being disturbed by sudden transmission signals from the neighboring stations. As a result, the quality of communication can be maintained.
FIG. 12 illustrates a frame format in IEEE 802.11a.
At the beginning of each packet, the preamble field for indicating the existence of the packet is appended. The preamble field includes an existing symbol pattern defined according to the standard. On the basis of this existing pattern, a receiver can determine whether a reception signal corresponds to the preamble field or not.
The SIGNAL field is defied after the preamble field. The SIGNAL field stores information necessary for decoding DATA fields in the packet. Information necessary for decoding the packet is referred to as the Physical Layer Convergence Protocol (PLCP) header. The PLCP header includes the RATE field indicating a transmission rate of DATA fields (including the service field, which is part of the PLCP header; hereinafter simply and collectively referred to as “DATA fields”), the LENGTH field indicating the length of the DATA fields, a parity bit, and tail bits of an encoder. On the basis of a result of decoding the RATE and LENGTH fields stored in the SIGNAL field, the receiver decodes the subsequent DATA fields.
The SIGNAL field storing the PLCP header is encoded so as to be robust against noise and is transmitted at about 6 Mbps. In contrast, in the case of general packets, the DATA fields are transmitted at a transmission rate/mode in which the highest bit rate is provided according to the signal-to-noise ratio (SNR) of the receiver as long as errors do not occur.
In IEEE 802.11a, eight transmission rates/modes are defined: 6, 9, 12, 18, 24, 36, and 54 Mbps. One of these transmission rates/modes is selected. When a transmitter and a receiver are near to each other, a transmission rate/mode providing a high bit rate is selected. A communication station at a distant place may have difficulty in decoding the information.
FIG. 13 illustrates the structure of the payload of each packet type. The payload is transferred as a Physical Layer Service Data Unit (PSDU) to a link layer which is an upper layer. In each frame, the Frame Control field and the Duration field are commonly defined. The Frame Control field stores information indicating the type and purpose of the frame. The Duration field stores information indicating the purpose of a NAV, that is, a time for completing a series of transactions relating to the packet.
An RTS frame includes, besides the foregoing fields, the Receiver Address (RA) field indicating an addressee or destination, the Transmitter Address (TA) field indicating a transmission source, and the Frame Check Sequence (FCS) field which is checksum. A CTS frame and an ACK Frame include, besides the foregoing fields, the RA field indicating an addressee or destination and the FCS field which is checksum. A data frame includes, besides the foregoing fields, four address fields Addr1 to 4 for specifying communication stations serving as the transmission source, the destination, and the like, the sequence field (SEQ), the Frame Body which is the actual data to be provided to an upper layer, and the FCS field which is checksum.
In a communication sequence in which data transmission begins in accordance with the RTS/CTS transmission/reception preparation process shown in FIG. 11, STA2, which is a neighboring station of STA0 serving as a transmission source, sets a NAV upon receipt of an RTS packet to a long period until the packet transmission/reception transaction is completed (until time T8). As a result, STA2 enters a transmission-disabled state.
In contrast, when STA0 is incapable of receiving a CTS packet from STA1 serving as a transmission destination, the RTS/CTS transmission/reception preparation process fails, and the subsequent sequence is cancelled (no data frame is sent by STA0 at time T5). In such a case, it is a waste for STA2, which is the neighboring station, to continuously set the NAV to a long period until a series of transmission/reception transactions is completed (that is, until time T8). This may even cause a reduction in the throughput of the entire system.
To overcome such a situation, the “NAV reset” function is provided. That is, when a neighboring station that has received an RTS or CTS packet and set a NAV once senses a failure in the RTS/CTS transmission/reception preparation process, the neighboring station resets the NAV so that the neighboring station can start a transmission operation.
For example, a neighboring station of a transmitter that has sent an RTS packet receives the RTS packet destined to another station and sets a NAV. Thereafter, if this neighboring station detects no CTS packet sent from a destination of the RTS packet or no data packet sent from the transmitter of the RTS packet within a predetermined time even in the Duration period, the neighboring station senses that the RTS/CTS transmission/reception preparation process has failed and resets the NAV. The predetermined time before the NAV is reset corresponds to a time from completion of reception of the RTS packet to an estimated arrival time of a data packet from the transmitter of the RTS packet (that is, T5-T2 in the example shown in FIG. 11) and is determined on the basis of the length of the CTS packet. More specifically, the arrival time of a data packet can be estimated on the basis of the sum of two SIFS intervals and a reception time of the CTS packet (for example, see ANSI/IEEE Std 802.11, 1999 Edition (R2003), 9.2.5.4 Setting and resetting the NAV).
In some cases, the foregoing calculating method may fail to estimate the correct arrival time of a data packet. If the arrival time of a data packet is estimated to be later, the neighboring station performs the virtual carrier sensing for the wasted time, and the efficiency of using the bandwidth is reduced. In contrast, if the arrival time of a data packet is estimated to be earlier, the neighboring station starts a transmission operation even when the RTS/CTS transmission/reception preparation process being performed is in order. This results in contention of access. In particular, the latter problem is overcome only by avoiding the use of the NAV reset function, and the throughput of the system is difficult to improve.
The following description concerns exemplary cases in which a neighboring station that has received an RTS packet fails to estimate the arrival time of a data packet.
In one case, the neighboring station fails to calculate the correct scheduled reception completion time of the CTS packet. The scheduled reception completion time of the CTS packet can be calculated on the basis of the frame length of the CTS packet and the transmission rate of the RTS packet (the transmission rate of the CTS packet is the same as that of the corresponding RTS packet).
For example, IEEE 802.11n, which is an expanded standard of IEEE 802.11a/g, is intended to improve the effective throughput by adding multiple-input multiple-output (MIMO), which is the use of multiple antennas at both the transmitter and the receiver to realize spatial multiplexing. A detailed description of the mechanism of MIMO communication is omitted here. In a MIMO communication system using two or more transmission branches, it shall be noted that, in order to realize spatial separation of a spatially-multiplexed reception signal, it is necessary for the receiver to estimate a channel for each transmission/reception antenna and to obtain a channel matrix. The transmitter is configured to send a training signal for activating a channel from each transmission channel in a time-division manner (for example, see FIG. 8A of Japanese Unexamined Patent Application No. 2006-36018, which has already been assigned to the Assignee of the present invention). In other words, since the length of the preamble field is variable according to the number of transmission antennas, so is the length of the CTS packet.
FIG. 14 illustrates an exemplary format of a packet including training signals sent in a time-division manner according to the number of transmission antennas. In FIG. 14, a portion referred to as a high throughput long training field (HT-LTF) is a training signal for activating a channel. The HT-LTF is sent from each transmission antenna. Therefore, the receiver corresponding to high throughput (HT) mode obtains a channel coefficient according to each pair of transmission/reception antennas and arranges the obtained channel coefficients in a matrix, thereby obtaining a channel matrix.
IEEE 802.11n defines “mixed mode” as an operation mode allowing the coexistence with legacy terminals operating in a legacy mode based on the previous IEEE 802.11a/g standard. Legacy terminals are incapable of coping with differences in the CTS packet length according to the number of antennas. As a result, it becomes difficult to estimate the correct timing to perform the NAV reset function. In FIG. 14, fields beginning with “L-” are transmitted at a transmission rate using a modulation method that are decodable at legacy terminals. In contrast, fields beginning with “HT-” are not compatible with legacy terminals.
IEEE 802.11n allows the coexistence with legacy terminals. There is a problem that legacy terminals are incapable of decoding the MAC frame field transmitted in high-speed HT mode. That is, legacy terminals are incapable of analyzing the Duration field in the MAC header and setting a correct NAV. In order to solve this problem, a spoofing technique that carries Duration information using the RATE field and the LENGTH field in the PHY header which is decodable at legacy terminals is employed (for example, see Japanese Unexamined Patent Application Publication No. 2006-50526, paragraphs 0066 to 0068). Spoofing stores in the LENGTH field of the PHY header a spoofed value, instead of the original packet length, so that the (packet length/transmission rate) should indicate a period for which a NAV is to be set, such as until completion of ACK. In the case where a neighboring station that has received an RTS packet sent in HT mode is a legacy terminal, the legacy terminal mistakes a period until completion of ACK for a transmission period of the RTS packet and thus continuously remains to be in a transmission-disabled state. In this spoofed Duration period, no trigger for resetting the NAV is generated.
In the RTS/CTS transmission/reception preparation process, under normal circumstances, a communication station serving as a data transmission source sends an RTS packet to a communication station serving as a data transmission destination, and the data transmission destination sends a CTS packet in response to the RTS packet to the data transmission source. When the data transmission destination wants to send data to the data transmission source in the opposite direction, the data transmission destination may multiplex a CTS packet with a data packet and send the multiplexed packets to the data transmission source (for example, see Japanese Unexamined Patent Application Publication No. 2006-50519, paragraph 0288, FIG. 24). In such a case, the length of the CTS packet is not fixed, unlike in FIG. 13. A neighboring station that has received the RTS packet is thus incapable of estimating the arrival time of the data packet. As a result, even when the transmission preparation fails, the neighboring station has difficulty in resetting the NAV.
If the neighboring station fails to specify a predetermined time for completing transmission of a response frame, the NAV reset function is not employed. The use of NAV reset was previously limited to the case where an RTS/CTS transmission/reception preparation process that enables specifying the predetermined time on the basis of the length of the CTS packet is performed. However, the transmission preparation process is not limited to RTS/CTS in wireless networks based on IEEE 802.11 or the like. The performance of NAV reset is thus insufficient and leaves room for improvement in order to increase the throughput of the entire system.
For example, Block ACK Request (BAR) is proposed to increase the speed of the MAC layer. In BAR, the data transmission source continuously sends data packets to the data transmission destination at SIFS intervals in a transmission opportunity (TXOP) period. After the TXOP period, the data transmission source sends a BAR frame to the data transmission destination. In response to this, the data transmission destination sends a Block ACK frame to the data transmission source. According to BAR, a data packet of a short length is initially sent, which enables a neighboring station to set a NAV. However, since the Block ACK protocol is not a necessity of IEEE 802.11, neighboring stations not compatible with this protocol are incapable of resetting a NAV even when the transmission/reception preparation process fails.
In order to overcome the problem of setting an unnecessary NAV in response to a failure in transmission of a CTS packet, MAC has been proposed (for example, see Japanese Unexamined Patent Application Publication No. 2006-287933, paragraph 0016). MAC allows a communication station that has received an RTS packet destined to itself to wait for the time interval of SIFS, send a CTS packet, and enter a carrier sensing state. After a predetermined CLR_Threshold time period has elapsed, if the channel is sensed idle, the communication station sends a cancel packet for allowing a neighboring station to reset a NAV. Accordingly, an unnecessary NAV can be reset at a neighboring station of the communication station sending the CTS packet (i.e., the data transmission destination). However, resetting the NAV involves the overhead of sending a packet other than RTS/CTS packets from a communication station performing the transmission preparation. This is considered to be inefficient. The scheme of resetting a NAV using a cancel packet is not a necessity of existing wireless LAN standards including IEEE 802.11 and thus incompatible with existing communication terminals.